var im = {
	allala:9999,
    wsUrl: 'wss://kuaixun.yongshunqiyuewangluo.com:8282',
    port: '',
    token: '',
    last_chat_id: 0,//用于记录最后一次打开的窗口会员id
    last_chat_type: 0,//用于记录最后一次打开的窗口类型1好友2群聊
    t1: null,//计时器
    t2: null,//计时器
    client_id: null,//客户端id
    lockReconnect: false,//避免重复连接
    socket: null,//websocket连接标识
    tt: 0,//计时器
    layim: null,

    //统一入口
    init: function (layui, $, config) {
        im.setParams(config);
        if (!im.token) {
            return false;
        }

        layui.use(['upload', 'laytpl', 'mobile'], function (upload, laytpl, mobile) {
            im.layim = mobile.layim;
            var initData = $.ajax({
                url: '/webim/Common/init',
                async: false
            }).responseText;
            initData = JSON.parse(initData);

            //基础配置
            im.layim.config({
                //获取主面板列表信息
                init: initData.data
                //上传图片接口
                , uploadImage: {url: '/webim/Common/uploadImage', type: 'post'}
                , brief: false                 //是否简约模式，如果设为 true，则主面板不会显示。一般可用于客服
                , title: 'webim移动端'          //设置主面板头部名称
                , chatTitleColor: '#36373C'    //设置会话顶部标题的颜色
                , isNewFriend: true            //是否在联系人面板开启新的朋友
                , tabIndex: 0                  //用户设定初始打开的Tab项下标
                , isgroup: true                //是否在联系人面板开启群聊
                , notice: true                 //是否开启桌面消息提醒，即在浏览器之外的提醒
                , maxLength: 3000              //可允许的消息最大字符长度
                //,copyright:true              //是否授权。如果非授权获得，或将LayIM应用在第三方，建议保留，即不设置。

                ,moreList: [{
                    alias: 'getMsgboxNum'
                    ,title: '消息'
                    ,iconUnicode: '&#xe645;' //图标字体的unicode，可不填
                    ,iconClass: 'msgboxNum' //图标字体的class类名
                }]
            });

            //初始化成功后建立WebSocket连接
            if(initData.code == 0){
                //删除layim绑定的事件。。。
                $(".layim-tool-msgbox").attr('layim-event', null);
                $(".layim-tool-find").attr('layim-event', null);

                //浮动按钮相关操作
                $('.layim-title').append('<i id="layui-m-layer-hide" class="layui-icon layim-chat-detail" style="font-size: 24px;">&#x1006;</i>');
                $('.layui-m-layer').hide();
                $('#floatBottom img').attr('src', initData.data.mine.avatar);
                $('#floatBottom').click(function(){
                    $('.layui-m-layer').show();
                    $(this).hide();
                });
                $('#layui-m-layer-hide').click(function(){
                    $('.layui-m-layer').hide();
                    $('#floatBottom').show();
                });

                //创建WebSocket连接
                im.createWebSocket(im.wsUrl);
            }

            //监听聊天框发送的消息
            im.layim.on('sendMessage', function(res){
                var url = '/webim/Friends_Message/add';
                if(res.to.type == 'group'){
                    url = '/webim/Groups_Message/add';
                }
                $.ajax({
                    url: url,
                    data: {data: res, client_id: im.client_id},
                    type: "post",
                    dataType: "json",
                    success:function(res){
                        if(res.code != 0) {
                            layer.msg(res.msg, {time: 1500, anim: 6});
                        }
                    }
                });
            });

            //监听聊天窗口的切换
            im.layim.on('chatChange', function(res){
                //删除layim绑定的事件。使用自定义的查看聊天记录事件
                $(".layim-tool-log").attr('layim-event', null);
                var type = res.data.type;
                im.last_chat_id = res.data.id;
                if(type === 'friend'){
                    im.last_chat_type = 1;
                    /* 发送聊天窗口输入事件 */
                    $('.layim-chat-send input').on('keydown', function () {
                        var timestamp = (new Date()).getTime();
                        if (im.t2 == null || (im.t2 + 2000) < timestamp) {
                            im.t2 = timestamp;
                            $.ajax({
                                url: '/webim/Friends_Message/onKeydown',
                                data: {'friendsid': res.data.id, client_id: im.client_id},
                                type: "post",
                                dataType: "json"
                            });
                        }
                    });
                } else {
                    im.last_chat_type = 2;
                }
            });

            //监听返回
            im.layim.on('back', function(){
                $('.layim-chat-status').html('');
            });

            //监听点击更多列表
            im.layim.on('moreList', function(obj){
                if (obj.alias == 'getMsgboxNum') {
                    var _html = '<div id="msgbox" style="background-color: #f2f2f2;height: 100%;">' +
                        '<div style="width: 100%;height:100%;overflow-y: scroll;background-color: #fff;" id="LAY_msgbox_content">' +
                        '<ul class="layim-msgbox" id="LAY_msgbox_view"></ul>' +
                        '</div>' +
                        '</div>';
                    im.layim.panel({
                        title: '消息中心'
                        ,tpl: _html //模版
                        ,data: { //数据
                            test: '123'
                        }
                    });

                    $('#LAY_msgbox_view').html('');
                    var page = 1;
                    $.post('/webim/Message_Box/getMsgboox', {page: page, client_id: im.client_id}, function (res) {
                        if (res.code == 0) {
                            //更新系统消息数量
                            im.getMsgboxNum();

                            if (res.data.list.length < 1) {
                                $('#LAY_msgbox_view').append('<p style="text-align: center;color: #999;line-height: 5rem;"><i class="layui-icon" style="vertical-align: top">&#xe60b;</i> 这是一个空的消息盒子~！</p>');
                                return false;
                            }

                            //列表返回在data集合中
                            let str = '';
                            layui.each(res.data.list, function(index, item){
                                //记录临时数据
                                im.cache[item.sender.id] = item.sender;
                                if(item.type != 2){
                                    str = '<li data-uid="' + item.sender.id + '" data-type="' + item.type + '" data-id="' + item.id + '">' +
                                        '<a href="javascript:;" target="_blank">' +
                                        '<img src="' + item.sender.avatar + '" class="layui-circle layim-msgbox-avatar">' +
                                        '</a>' +
                                        '<p class="layim-msgbox-user">' +
                                        '<a href="javascript:;" target="_blank">' + item.sender.nickname + '</a>' +
                                        '<span style="padding-left:5px;">' + item.createtime_text + '</span>' +
                                        '</p>' +
                                        '<p class="layim-msgbox-content">' + item.content +
                                        '<br/><span>附言: ' + item.postscript + '</span>' +
                                        '</p>' +
                                        '<p class="layim-msgbox-btn">' +
                                        '<button class="layui-btn layui-btn-small" data-type="msgboxAgree">同意</button>' +
                                        '<button class="layui-btn layui-btn-small layui-btn-primary" data-type="msgboxRefuse">拒绝</button>' +
                                        '</p>' +
                                        '</li>';
                                }else{
                                    str = '<li class="layim-msgbox-system">' +
                                        '<p><em>系统：</em>' + item.content + '<span style="padding-left:5px;">' + item.createtime_text + '</span></p>' +
                                        '</li>';
                                }
                                $('#LAY_msgbox_view').append(str);
                            });
                        } else {
                            layer.msg(res.msg, {time: 1500, anim: 6});
                        }
                    });

                    //绑定同意/拒绝按钮事件
                    $('body').on('click', '.layim-msgbox-btn .layui-btn', function(){
                        var othis = $(this), type = othis.data('type');
                        im[type] ? im[type].call(this, othis) : '';
                    });
                }
            });

            //监听点击“新的朋友”
            im.layim.on('newFriend', function(){
                //弹出面板
                im.layim.panel({
                    title: '新的朋友' //标题
                    , tpl: '<div style="background-color: #fff;height: 100%;">' +
                    '<ul class="newFriend_tab" style="margin:0;padding:0;list-style:none;width:100%;overflow:hidden;"> ' +
                    '<li style="float:left;width:50%;line-height:3rem;color:#333;text-align:center;cursor:pointer;font-size: 16px;"><i class="layui-icon" >&#xe612;</i> 找人</li>' +
                    '<li style="float:left;width:50%;line-height:3rem;background:#eee;color:#333;text-align:center;cursor:pointer;font-size: 16px;"><i class="layui-icon" >&#xe613;</i> 找群</li>' +
                    '</ul>' +
                    '<div class="newFriend_content">' +
                    '<div style="background-color: #eee;margin-top: 5px;padding: 5px;">' +
                    '<div class="search-input" style="background-color: #fff;border-radius: .25rem;padding:0 1rem;">' +
                    '<i class="layui-icon" style="vertical-align: middle;">&#xe615;</i>' +
                    '<input type="text" class="search" data-type="findFriendsBtn" style="width: 90%;border: 0;height: 3rem;" placeholder="手机号/昵称/账号">' +
                    '</div>' +
                    '</div>' +
                    '<ul class="layui-layim-list layim-list-friend layim-remmondFriend LAY_findList1"></ul>' +
                    '</div>' +
                    '<div class="newFriend_content" style="display: none">' +
                    '<div style="background-color: #eee;margin-top: 5px;padding: 5px;">' +
                    '<div class="search-input" style="background-color: #fff;border-radius: .25rem;padding:0 1rem;">' +
                    '<i class="layui-icon" style="vertical-align: middle;">&#xe615;</i>' +
                    '<input type="text" class="search" data-type="findGroupsBtn" style="width: 90%;border: 0;height: 3rem;" placeholder="群号/群名称">' +
                    '</div>' +
                    '</div>' +
                    '<ul class="layui-layim-list layim-list-friend layim-remmondFriend LAY_findList2"></ul>' +
                    '</div>' +
                    '</div>'
                });

                //tab切换事件绑定
                $('body').on('click', '.newFriend_tab li', function (e) {
                    $(".newFriend_tab li").eq($(this).index()).css("background", '').siblings().css('background', '#eee');
                    $(".newFriend_content").hide().eq($(this).index()).show();
                });

                //绑定查找输入框失去焦点事件
                $('body').on('blur', '.search', function (e) {
                    var type = $(this).data('type');
                    im[type] ? im[type].call(this) : '';
                });

                //绑定添加好友/群组按钮事件
                $('body').on('click', '.find-data-list', function (e) {
                    var type = $(this).data('type');
                    im[type] ? im[type].call(this) : '';
                });
            });

            //监听查看更多记录
            im.layim.on('chatlog', function(data, ul){
                console.log(data); //得到当前会话对象的基本信息
                if (data.type == "group") {
                   var url = '/webim/Groups_Message/messageHistoryH5';
                } else {
                   var url = '/webim/Friends_Message/messageHistoryH5';
                }
                console.log(ul);   //得到当前聊天列表所在的ul容器，比如可以借助他来实现往上插入更多记录

                var mineId = data.id;

                var page = ul.data('page');

                if (typeof(page) == "undefined")
                {
                    page = 2;
                }

                console.log(page);

                $.post(url, {targetid:mineId, page: page, client_id: im.client_id}, function (res) {
                    if (res.code == 0) {
                        if (res.data.list.length > 0) {
                            page++;
                            ul.data('page', page);

                            //console.log(res.data.list);

                            //列表返回在data集合中
                            let str = '';
                            layui.each(res.data.list, function(index, item){
                                if(item.id == im.layim.cache().mine.id){
                                    str += '<li class="layim-chat-mine">' +
                                        '<div class="layim-chat-user">' +
                                        '<img src="' + item.avatar + '"><cite><i></i>' + item.username + '</cite>' +
                                        '</div>' +
                                        '<div class="layim-chat-text">' + im.layim.content(item.content) + '</div>' +
                                        '</li>';
                                }else{
                                    str += '<li>' +
                                        '<div class="layim-chat-user">' +
                                        '<img src="' + item.avatar + '"><cite>' + item.username + '<i></i></cite>' +
                                        '</div>' +
                                        '<div class="layim-chat-text">' + im.layim.content(item.content) + '</div>' +
                                        '</li>';
                                }
                            });
                            ul.prepend(str);
                        } else {
                            layer.msg('没有更多了', {time: 1500, anim: 6});
                        }

                    } else {
                        layer.msg(res.msg, {time: 1500, anim: 6});
                    }
                });

            });
        });
    },

    //建立WebSocket通讯
    createWebSocket: function () {
        try {
            //如果没有连接则创建一个
            if (im.socket == null) {
                im.socket = new WebSocket(im.wsUrl);
                im.wsinit();
            }
        } catch (e) {
            console.log('catch');
            im.reconnect(im.wsUrl);//自动重连
        }
    },

    //WebSocket init
    wsinit: function () {
		console.log("第一次走websocket");
        im.socket.onclose = function () {
            //layer.msg('webim已与服务器断开连接', {time: 1500, anim: 6});
            console.log('webim已与服务器断开连接');
            im.reconnect(im.wsUrl);//自动重连
        };
        im.socket.onerror = function () {
            console.log('发生异常了');
            im.reconnect(im.wsUrl);//自动重连
        };
        im.socket.onopen = function () {
            console.log('webim已成功连接服务器');
            im.heartCheck.start();//心跳检测重置  //layer.msg('webim已成功连接服务器');
        };
        //监听收到的消息
        im.socket.onmessage = function (res) {
            res = JSON.parse(res.data);
            console.log('接收到服务端消息：');
            console.log(res);

            switch(res.type)
            {
                case 'init':
                    im.client_id = res.client_id;
                    im.getMsgboxNum();
                    im.unreadMessage();
                    im.online('online');
                    break;

                case 'onKeydown':
                    if (res.data.friends_id == im.last_chat_id) {
                        $('.layim-chat-status').html('对方正在输入..');
                        window.clearTimeout(im.t1);//去掉定时器
                        im.t1 = window.setTimeout(function(){
                            $('.layim-chat-status').html('');
                        }, 2200);//2.2秒没有收到按键信号说明已经停止输入
                    }
                    break;

                case 'onLine':
                    if (res.data.status == 'online') {
                        //设置指定好友在线，即头像取消置灰
                        im.layim.setFriendStatus(res.data.uid, 'online');
                    } else {
                        //设置指定好友在线，即头像取消置灰
                        im.layim.setFriendStatus(res.data.uid, 'offline');
                    }
                    break;

                case 'getMsgboxNum':
                    if (res.data.total > 0) {
                        im.layim.showNew('More', true); //标注“更多”新动态
                        if ($('.msgboxNum').parent().find('span').text()) {
                            $('.msgboxNum').parent().find('span').text('（' + res.data.total + '）');
                        } else {
                            $('.msgboxNum').parent().append('<span style="color: #f00;font-size: 14px;">（' + res.data.total + '）</span>');
                        }
                    } else {
                        im.layim.showNew('More', false);
                        $('.msgboxNum').parent().find('span').remove();
                    }
                    break;
                case 'chatMessage':
                    im.layim.getMessage(res.data);//单条聊天数据渲染
                    break;

                case 'getFriends':
                    //得到好友列表
                    console.log('收到更新好友数据');
                    var friend = im.layim.cache().friend;
                    for (let j = 0; j < friend.length; j++) {
                        if (friend[j].list) {
                            for (let i = 0; i < friend[j].list.length; i++) {
                                im.layim.removeList({
                                    type: 'friend', id: friend[j].list[i].id //好友或者群组ID
                                });
                            }
                        }
                    }
                    //添加好友到面板
                    if (res.data.length > 0) {
                        for (let i = 0; i < res.data.length; i++) {
                            im.layim.addList(res.data[i]);
                        }
                    }
                    break;

                case 'getGroups':
                    //得到群组列表
                    console.log('收到更新群组数据');
                    var group = im.layim.cache().group;
                    for (let i = 0; i < group.length; i++) {
                        for (let j = 0; j < group.length; j++) {
                            im.layim.removeList({type: 'group', id: group[j].id});
                        }
                    }

                    //添加群到面板
                    if (res.data.length > 0) {
                        for (let i = 0; i < res.data.length; i++) {
                            im.layim.addList(res.data[i]);
                        }
                    }
                    break;

                case 'noticeMessage':
                    im.layim.getMessage(res.data); //系统消息数量
                    break;

                default:
                    break;
            }
            im.heartCheck.start();//心跳检测重置
        };
    },

    //websocket重连
    reconnect: function (url) {
        if (im.lockReconnect) {
            return;
        }
        im.lockReconnect = true;
        //没连接上会一直重连，设置延迟避免请求过多
        im.tt && clearTimeout(im.tt);
        im.tt = setTimeout(function () {
            im.socket = null;
            im.createWebSocket(url);
            im.lockReconnect = false;
        }, 10000);
    },

    //发送心跳包
    heartCheck: {
        timeout: 50000,//50秒发一次
        timeoutObj: null,
        serverTimeoutObj: null,
        start: function () {
            console.log('websocket start , heartbeat check');
            var self = this;
            this.timeoutObj && clearTimeout(this.timeoutObj);
            this.serverTimeoutObj && clearTimeout(this.serverTimeoutObj);
            this.timeoutObj = setTimeout(function () {
                //这里发送一个心跳，后端收到后，返回一个心跳消息，
                im.socket.send("heartbeat");
                self.serverTimeoutObj = setTimeout(function () {
                    im.socket.close();
                }, self.timeout);

            }, this.timeout)
        }
    },

    //设置参数
    setParams: function (config) {
        if(config.webim.wss_switch == 1){
            im.wsUrl = 'wss://' + window.location.hostname + ':' + config.webim.port;
        }else{
            im.wsUrl = 'ws://' + window.location.hostname + ':' + config.webim.port;
        }
        im.port  = config.webim.port;
        im.token = config.webim.token;

        im.floatBottom();
    },

    online: function(data){
        $.ajax({
            url: '/webim/Friends/onLine',
            data: {status: data, client_id: im.client_id},
            type: "post",
            dataType: "json"
        });
    },

    //ajax得到离线消息
    unreadMessage: function(){
        $.ajax({
            url: '/webim/Groups_Message/offline',
            data: {client_id: im.client_id},
            type: "post",
            dataType: "json",
            success:function(res){
                if (res.data.length > 0) {
                    for (let i = 0; i < res.data.length; i++) {
                        im.layim.getMessage(res.data[i]);//多条聊天数据
                    }
                }
            }
        });
        $.ajax({
            url: '/webim/Friends_Message/offline',
            data: {client_id: im.client_id},
            type: "post",
            dataType: "json",
            success:function(res){
                if (res.data.length > 0) {
                    for (let i = 0; i < res.data.length; i++) {
                        im.layim.getMessage(res.data[i]);//多条聊天数据
                    }
                }
            }
        });
    },

    //获取窗口的文档显示区的高度
    getViewSizeWithScrollbar: function (){
        var clientHeight = 0;
        if(window.innerWidth){
            clientHeight = window.innerHeight;
        }else if(document.documentElement.offsetWidth == document.documentElement.clientWidth){
            clientHeight = document.documentElement.offsetHeight;
        }else{
            clientHeight = document.documentElement.clientHeight + getScrollWith();
        }
        clientHeight = clientHeight-180;
        return clientHeight;
    },

    //浮动按钮
    floatBottom: function(){
        let top = im.getViewSizeWithScrollbar();
        let html = '<div id="floatBottom" class="layui-layer layui-layer-page layui-box layui-layim-min layui-layim-close" type="page" style="border-radius: 50%;z-index: 19991016; top: ' + top + 'px; left: 83%; margin-left: -5px;">' +
            '<div id="layui-layim-close" class="layui-layer-content" style="border-radius: 50%;">' +
            '<img style="width: 48px;" src="/assets/img/blank.gif" style="cursor: move;">' +
            '</div>' +
            '<span class="layui-layer-setwin"></span>' +
            '</div>';
        $('body').append(html);
    },

    //查找好友
    findFriendsBtn: function(){
        var keyword = $(this).val();
        if (!keyword) return false;
        $.post('/webim/Friends/find', {keyword: keyword, client_id: im.client_id}, function (res) {
            if (res.code == 0) {
                var html = '<p style="text-align: center;color: #999;line-height: 5rem;"><i class="layui-icon" style="vertical-align: top">&#xe60b;</i> 抱歉，没有找到符合查询条件的会员</p>';
                if(res.data.length > 0) {
                    html = '';
                    layui.each(res.data, function(index, item){
                        if (item.type == 'friend') {
                            html += '<li class="layim-friend1">' +
                                '<img class="layim-avatar" src="' + item.avatar + '">' +
                                '</div>' +
                                '<span class="name">' + item.nickname + '</span>' +
                                '<p>' + item.sign + '</p>' +
                                '<span class="layim-msg-status find-data-list" style="top: 8px;display: inline-block;padding: 5px 10px;border-radius: 5px;padding-top:4px;" data-type="findFriendsAdd" data-id="' + item.id + '"><i class="layui-icon">&#xe654;</i>好友</span>' +
                                '</li>';
                        }
                    });
                }
                $('.LAY_findList1').html(html);
            } else {
                layer.msg(res.msg, {time: 1500, anim: 6});
            }
        });
    },

    //查找群
    findGroupsBtn: function(){
        var keyword = $(this).val();
        if (!keyword) return false;
        $.post('/webim/Groups/find', {keyword: keyword, client_id: im.client_id}, function (res) {
            if (res.code == 0) {
                var html = '<p style="text-align: center;color: #999;"><i class="layui-icon" style="vertical-align: top">&#xe60b;</i> 抱歉，没有找到符合查询条件的群聊</p>';
                if(res.data.length > 0) {
                    html = '';
                    layui.each(res.data, function(index, item){
                        if (item.type == 'group') {
                            html += '<li class="layim-friend1">' +
                                '<img class="layim-avatar" src="' + item.avatar + '">' +
                                '</div>' +
                                '<span class="name">' + item.nickname + '</span>' +
                                '<p>' + item.sign + '</p>' +
                                '<span class="layim-msg-status find-data-list" style="top: 8px;display: inline-block;padding: 5px 10px;border-radius: 5px;padding-top:4px;" data-type="findGroupsAdd" data-id="' + item.id + '"><i class="layui-icon">&#xe654;</i>加群</span>' +
                                '</li>';
                        }
                    });
                }
                $('.LAY_findList2').html(html);
            } else {
                layer.msg(res.msg, {time: 1500, anim: 6});
            }
        });
    },

    //添加朋友
    findFriendsAdd: function(){
        var id = $(this).data('id');
        if(!id) return false;
        var _this = $(this);
        layer.open({
            id:1,
            type: 1,
            title:'添加朋友',
            skin:'layui-layer-rim',
            area:['280px', 'auto'],
            closeBtn :0,//右上角的关闭按钮取消  $("#addInsertGroup"),
            content: ' <div style="width: 250px; margin-top:10px;padding-left:15px">'
            +'<textarea lay-verify="required" name="postscript" id="postscript" placeholder="请输入验证信息" class="layui-textarea" style="resize:none;border-width: 1px;border-style: solid;background-color: #fff;border-radius: 2px;width: 99%;border-color: #e6e6e6;line-height: 20px;padding: 0px 5px;"></textarea>'
            +'</div>',
            btn:['申请','取消'],
            btn1: function (index,layero) {
                var postscript = $('#postscript').val();
                if(!postscript){
                    layer.msg('请输入验证信息', {time: 1500, anim: 6});
                }else{
                    $.ajax({
                        url:'/webim/Message_Box/applyFirend',
                        data:{id: id, postscript: postscript, client_id: im.client_id},
                        type:"post",
                        dataType:"json",
                        success:function(res){
                            if(res.code == 0) {
                                _this.html('已申请');
                                _this.data('id', '');
                                _this.css('background-color', '#999');
                                layer.close(index);
                            }
                        }
                    });
                }
            }
        });
    },

    //添加群
    findGroupsAdd: function(){
        var id = $(this).data('id');
        if(!id) return false;
        var _this = $(this);
        layer.open({
            id:1,
            type: 1,
            title:'申请加群',
            skin:'layui-layer-rim',
            area:['280px', 'auto'],
            closeBtn :0,//右上角的关闭按钮取消  $("#addInsertGroup"),
            content: ' <div style="width: 250px; margin-top:10px;padding-left:15px">'
            +'<textarea lay-verify="required" name="postscript" id="postscript" placeholder="请输入验证信息" class="layui-textarea" style="resize:noneborder-width: 1px;border-style: solid;background-color: #fff;border-radius: 2px;width: 99%;border-color: #e6e6e6;line-height: 20px;padding: 0px 5px;"></textarea>'
            +'</div>',
            btn:['申请','取消'],
            btn1: function (index,layero) {
                var postscript = $('#postscript').val();
                if(!postscript){
                    layer.msg('请输入验证信息', {time: 1500, anim: 6});
                }else{
                    $.ajax({
                        url:'/webim/Message_Box/applyGroup',
                        data:{id: id, postscript: postscript, client_id: im.client_id},
                        type:"post",
                        dataType:"json",
                        success:function(res){
                            if(res.code == 0) {
                                _this.html('已申请');
                                _this.data('id', '');
                                _this.css('background-color', '#999');
                                layer.close(index);
                            }
                        }
                    });
                }
            }
        });
    },

    //ajax更新消息数量
    getMsgboxNum: function(){
        $.ajax({
            url: '/webim/Message_Box/getMsgboxNum',
            data: {client_id: im.client_id},
            type: "post",
            dataType: "json",
            success:function(res){
                if (res.data.total > 0) {
                    im.layim.showNew('More', true); //标注“更多”新动态
                    if ($('.msgboxNum').parent().find('span').text()) {
                        $('.msgboxNum').parent().find('span').text('（' + res.data.total + '）');
                    } else {
                        $('.msgboxNum').parent().append('<span style="color: #f00;font-size: 14px;">（' + res.data.total + '）</span>');
                    }
                } else {
                    im.layim.showNew('More', false);
                    $('.msgboxNum').parent().find('span').remove();
                }
            }
        });
    },

    cache: {}, //用于临时记录请求到的数据

    //同意申请
    msgboxAgree: function(othis){
        var li = othis.parents('li'),
            uid = li.data('uid'),
            type = li.data('type'),
            id = li.data('id'),
            user = im.cache[uid];

        if (type == 0) {
            var _html = '';
            layui.each(im.layim.cache().friend, function(index, item){
                _html += '<option value="' + item.id + '">' + item.groupname + '</option>';
            });

            //选择分组
            layer.open({
                id:1,
                type: 1,
                title:'选择分组',
                skin:'layui-layer-rim',
                area:['280px', 'auto'],
                closeBtn :0,//右上角的关闭按钮取消  $("#addInsertGroup"),
                content: ' <div style="width: 250px; margin-top:10px;padding-left:15px">'
                +'<select id="group_id" style="width: 99%;border: solid 1px #eee;height: 3rem;padding-left: 10px;background-color: #fff;">'+_html+'</select>'
                +'</div>',
                btn:['确定','取消'],
                btn1: function (index,layero) {
                    var group_id = $('#group_id').val();
                    if(!group_id){
                        layer.msg('请选择分组', {time: 1500, anim: 6});
                    }else{
                        $.ajax({
                            url:'/webim/Message_Box/agreeFriend',
                            data:{id: id, group: group_id, client_id: im.client_id},
                            type:"post",
                            dataType:"json",
                            success:function(res){
                                if(res.code == 0) {
                                    //将好友追加到主面板
                                    im.layim.addList({
                                        type: 'friend'
                                        , avatar: user.avatar //好友头像
                                        , username: user.nickname //好友昵称
                                        , groupid: group_id //所在的分组id
                                        , id: uid //好友ID
                                        , sign: user.bio //好友签名
                                    });
                                    layer.close(index);
                                    $('.layim-tool-msgbox').find('.layui-anim').hide();
                                    othis.parent().html('已同意');
                                } else {
                                    layer.msg(res.msg, {time: 1500, anim: 6});
                                }
                            }
                        });
                    }
                }
            });
        } else {
            $.ajax({
                url:'/webim/Message_Box/agreeFriend',
                data:{id: id, client_id: im.client_id},
                type:"post",
                dataType:"json",
                success:function(res){
                    if(res.code == 0) {
                        $('.layim-tool-msgbox').find('.layui-anim').hide();
                        othis.parent().html('已同意');
                    } else {
                        layer.msg(res.msg, {time: 1500, anim: 6});
                    }
                }
            });
        }
    },

    //拒绝申请
    msgboxRefuse: function(othis){
        var li = othis.parents('li'), id = li.data('id'), uid = li.data('uid');
        layer.confirm('确定拒绝申请吗？', function(index){
            $.ajax({
                url:'/webim/Message_Box/refuseFriend',
                data:{id: id, client_id: im.client_id},
                type:"post",
                dataType:"json",
                success:function(res){
                    if(res.code == 0) {
                        layer.close(index);
                        othis.parent().html('<em>已拒绝</em>');
                        $('.layim-tool-msgbox').find('.layui-anim').hide();
                    } else {
                        layer.msg(res.msg, {time: 1500, anim: 6});
                    }
                }
            });
        });
    }
};
module.exports = {
	ImWebSocket: im
}